package com.fjb.controller.base;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.fjb.common.plugins.ZTree;
import com.fjb.pojo.login.LoginUserInfo;
import com.fjb.pojo.user.SysUser;

/**
 * @Description:基础公用的
 * @author hemiao
 * @time:2019年4月20日 下午7:43:10
 */
public class BaseController {
	
	private static final Logger logger = LoggerFactory.getLogger(BaseController.class);
	
	/**
	 * 	登录用户信息  loginUserInfo
	 */
	public static final String LOGIN_USER_INFO = "fjbLoginUserInfo";
	
	/**
	 * login_phone
	 */
	public static final String LOGIN_PHONE= "fjb_login_phone";
	
	/**
	 * file_service_location 文件服务器地址
	 */
	public static final String FILE_SERVICE_LOCATION = "file_service_location";
	
	/**
	 * @Description:获得当前用户信息
	 * @param request
	 * @return
	 * LoginUserInfo
	 * @exception:
	 * @author: hemiao
	 * @time:2019年5月3日 下午9:23:04
	 */
	public static LoginUserInfo getUserInfo(HttpServletRequest request) {
		LoginUserInfo userInfo = (LoginUserInfo)request.getSession().getAttribute(LOGIN_USER_INFO);
		/*if(userInfo==null) {
			throw new RuntimeException("登陆超时,获取用户信息失败");
		}*/	
		return userInfo;
	}

	/**
	 * @Description:获得主账号id
	 * @param user
	 * @return
	 * Integer
	 * @exception:
	 * @author: hemiao
	 * @time:2019年12月28日 下午4:37:30
	 */
	public static Integer getMainUserId(SysUser user) {
		Integer mainUserId = user.getMainUserId();
		return mainUserId;
	}
	
	/**
	 * @Description: 获得树形 孩子 列表
	 * @param id
	 * @param zTreeList
	 * @return
	 * List<ZTree>
	 * @exception:
	 * @author: hemiao
	 * @time:2019年8月17日 下午11:58:53
	 */
	public static List<ZTree> getChildList(Integer id,List<ZTree> zTreeList){
		List<ZTree> childList = new ArrayList<ZTree>();
		for (ZTree zTree : zTreeList) {
			Integer getpId = zTree.getpId();
			if(id.equals(getpId)) {
				childList.add(zTree);
			}
		}
		return childList;
	}
}
